package com.lkm.market2_0.help;

import com.lkm.javatool.NumberHelp;
import java.math.BigDecimal;

public class SteelardHelp {

    

    public static String formatMoney(float value) {

////        0.009 0 -0.009 就是0
//        if(value<0.01&&value>-0.01){



        return NumberHelp.floatScaleToString(value,2,BigDecimal.ROUND_HALF_UP,"0.00");

    }
    public static String formatMoney(float value,int scale) {

////        0.009 0 -0.009 就是0
//        if(value<0.01&&value>-0.01){



        return NumberHelp.floatScaleToString(value,scale,BigDecimal.ROUND_HALF_UP,"0");

    }
    public static float formatMoneyFloat(float value) {

//        //        0.009 0 -0.009 就是0
//        if(value<0.01&&value>-0.01){



        return NumberHelp.floatScale(value,2,BigDecimal.ROUND_HALF_UP);

    }


//        return NumberHelp.floatScale(Float.valueOf(),2,BigDecimal.ROUND_HALF_UP);


    public static float formatWeighrFloat(float value) {

        return NumberHelp.floatScale(value,3,BigDecimal.ROUND_HALF_UP);

    }
    public static float calPrice(String unitPrice, String weight){
        return SteelardHelp.formatMoneyFloat(
                new BigDecimal(unitPrice).multiply(new BigDecimal(weight)).floatValue()
        );
    }
    public static float calPrice(float unitPrice, float weight){
        //float相乘的话5.00f*1.987f=9.934999，正确应该是9.935。
//            BigDecimal 是不接收float类型的 所以0.01f会变成double【会被补位 所以new BigDecimal(0.01f)精度出问题】
        
        return SteelardHelp.formatMoneyFloat(
                new BigDecimal(""+unitPrice).multiply(new BigDecimal(""+weight)).floatValue()
        );





    }



}
